{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "2c95cbb7-b819-4da5-a876-53e5a777d0bd",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "# 导入包\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import pandas as pd"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2c22a8d4-a9e5-4b60-a2c2-698679d229db",
   "metadata": {},
   "source": [
    "```python\n",
    "fig.tight_layout(w_pad, h_pad)\n",
    "```\n",
    "* 默认情况下，不传参数也可以自动实现多子图布局\n",
    "* w_pad: 水平间距\n",
    "* h_pad: 垂直间距\n",
    "\n",
    "```python\n",
    "fig.subplot_adjust(left=None, bottom=None, right=None, top=None, wspace=None, hspace=None)\n",
    "```\n",
    "* 默认情况下，不传参数不会自动实现多子图布局\n",
    "* left: 左边坐标\n",
    "* right: 底部坐标\n",
    "* right: 右边坐标\n",
    "* top: 顶部坐标\n",
    "* wspace: 水平间距\n",
    "* hspace: 垂直间距\n",
    "\n",
    "```python\n",
    "fig.add_gridspec(rows, cols, width_ratios=None, height_ratios=None)\n",
    "```\n",
    "* 按照rows和cols在fig上划分格网（默认格网大小一致）\n",
    "* 可以通过width_ratios设置每列格网的宽度比\n",
    "* 可以通过height_ratios设置每行格网的高度比"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "6d7a523d-1ffb-4cbd-9dea-475a4208fbef",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 自定义函数：绘图\n",
    "def plotMap(ax, fontsize=12):\n",
    "    # 拿到传入Aexs对象，绘制折线图\n",
    "    # 简化一下，只设置y轴数据绘图\n",
    "    ax.plot([1, 2])\n",
    "    # 设置y轴label和x轴label\n",
    "    ax.set_ylabel(\"Y's Label\", fontsize=fontsize)\n",
    "    ax.set_xlabel(\"X's Label\", fontsize=fontsize)\n",
    "    # 设置Title\n",
    "    ax.set_title(\"Title\", fontsize=fontsize)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "98cc4480-7a73-4da6-8667-a608661cd96a",
   "metadata": {},
   "source": [
    "## 一、默认情况\n",
    "默认情况下会出现多子图的元素重叠"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "5eb4e7bb-7c8c-4568-8027-7da5603dc4c4",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(2, 2)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 调用subplots方法\n",
    "# 创建一个有2行2列子图的figure对象\n",
    "# figure对象里有2行2列个子图，即4个子图\n",
    "fig, axes = plt.subplots(2, 2)\n",
    "# 产看axes元素个数\n",
    "print(axes.shape)\n",
    "# 循环绘制4个子图\n",
    "for axline in axes:\n",
    "    for ax in axline:\n",
    "        plotMap(ax)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ba3dd6ca-be98-42ab-93e9-7d7e618b7725",
   "metadata": {},
   "source": [
    "## 二、设置多子图布局-规则布局"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b7dd34fc-0ba8-487f-998e-609bf90e2ca1",
   "metadata": {},
   "source": [
    "### 2.1 tight_layout\n",
    "通过tight_layout避免出现多子图的元素重叠"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "eb680f4d-98b6-4005-a2b4-127ffc94f292",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(2, 2)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 调用subplots方法\n",
    "# 创建一个有2行2列子图的figure对象\n",
    "# figure对象里有2行2列个子图，即4个子图\n",
    "fig, axes = plt.subplots(2, 2)\n",
    "# 产看axes元素个数\n",
    "print(axes.shape)\n",
    "# 循环绘制4个子图\n",
    "for axline in axes:\n",
    "    for ax in axline:\n",
    "        plotMap(ax)\n",
    "# 重置layout\n",
    "fig.tight_layout()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "50e9e4f6-59e1-4a21-97e8-50efca526d3c",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(2, 2)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 调用subplots方法\n",
    "# 创建一个有2行2列子图的figure对象\n",
    "# figure对象里有2行2列个子图，即4个子图\n",
    "fig, axes = plt.subplots(2, 2)\n",
    "# 产看axes元素个数\n",
    "print(axes.shape)\n",
    "# 循环绘制4个子图\n",
    "for axline in axes:\n",
    "    for ax in axline:\n",
    "        plotMap(ax)\n",
    "# 重置layout,手动设置间距\n",
    "# w_pad是水平间距\n",
    "# h_pad是垂直间距\n",
    "fig.tight_layout(w_pad=6, h_pad=4)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a1799dcf-51de-4c87-b484-25d5f382141b",
   "metadata": {},
   "source": [
    "### 2.2 subplots_adjust\n",
    "通过subplots_adjust避免出现多子图的元素重叠（这个不常用）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "2d56c5d6-5d69-45a8-bda2-32eb095a34fb",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(2, 2)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 调用subplots方法\n",
    "# 创建一个有2行2列子图的figure对象\n",
    "# figure对象里有2行2列个子图，即4个子图\n",
    "fig, axes = plt.subplots(2, 2)\n",
    "# 产看axes元素个数\n",
    "print(axes.shape)\n",
    "# 循环绘制4个子图\n",
    "for axline in axes:\n",
    "    for ax in axline:\n",
    "        plotMap(ax)\n",
    "# 重置layout,手动设置间距\n",
    "# wspace是水平间距\n",
    "# hspace是垂直间距\n",
    "fig.subplots_adjust(0, 0, 1.5, 1.5, wspace=0.5, hspace=1)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6e4ec7fb-b9c4-4b1a-ba86-bae25310334d",
   "metadata": {},
   "source": [
    "## 三、自定义多子图布局-不规则布局\n",
    "### 3.1 简单自定义布局\n",
    "利用规则布局的板式，通过subplot方法逐个创建子图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "05f3742b-ad8b-484a-9589-eb39e205e066",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:>"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 3 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 创建2行2列的第一个子图对象\n",
    "plt.subplot(221)\n",
    "# 创建2行2列的第三个子图对象\n",
    "plt.subplot(223)\n",
    "# 创建1行2列的第二个子图对象\n",
    "plt.subplot(122)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3c56bb75-e155-46c2-bde6-5642234c35c2",
   "metadata": {},
   "source": [
    "### 3.2 复杂自定义布局"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5bf80e13-7150-408d-8205-401db068f209",
   "metadata": {},
   "source": [
    "#### 3.2.1 gridspec规则格网"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "86d97815-1bdd-4e30-a70c-24c22151dff6",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 5 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 创建画板\n",
    "fig = plt.figure()\n",
    "# 在画板上创建一个格网：例子创建3*3的格网\n",
    "gs = fig.add_gridspec(3, 3)\n",
    "\n",
    "# 添加子图对象\n",
    "# 创建并添加一个子图，大小是第0行，第0列到第2列的格网\n",
    "fig.add_subplot(gs[0, 0:3])\n",
    "# 创建并添加一个子图，大小是第1行，第0列到第1列的格网\n",
    "fig.add_subplot(gs[1, 0:2])\n",
    "# 创建并添加一个子图，大小是第1行到第2行，第2列的格网\n",
    "fig.add_subplot(gs[1:3, 2])\n",
    "# 创建并添加一个子图，大小是第2行，第0列的格网\n",
    "fig.add_subplot(gs[2, 0])\n",
    "# 创建并添加一个子图，大小是第2行，第1列的格网\n",
    "fig.add_subplot(gs[2, 1])\n",
    "# 自动重新布局，避免子图重叠\n",
    "fig.tight_layout()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f8d4d129-dd5d-48e8-8c37-68275a349ade",
   "metadata": {},
   "source": [
    "#### 3.2.2 gridspec不规则格网"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "a9228513-f049-4ee7-b459-4b1189415aa2",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 9 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 设置宽度比\n",
    "widths = (1, 2, 2)\n",
    "\n",
    "# 设置高度比\n",
    "heights = (1, 2, 1)\n",
    "\n",
    "# 创建画板\n",
    "fig = plt.figure()\n",
    "# 在画板上创建一个格网：例子创建3*3的格网\n",
    "gs = fig.add_gridspec(3, 3, width_ratios=widths, height_ratios=heights)\n",
    "\n",
    "# 添加子图对象\n",
    "for row in range(0, 3):\n",
    "    for col in range(0, 3):\n",
    "        fig.add_subplot(gs[row, col])\n",
    "\n",
    "# 自动重新布局，避免子图重叠\n",
    "fig.tight_layout()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
